package calcsdk;

/**
 *
 * @author Develop
 */
public class CTree implements ICTree {

    float[][] matrix;                //исследуемая матрица
    int size_matrix;            //размер матрицы
    BinVer ver_vertical;           //вертикальные вершины
    BinVer ver_horizont;           //горизонтальные вершины
    int level;                  //уровень в дереве "0" - корень
    char f_fict;                 //флаг фиктивности узла в дереве
    char f_end;                  //флаг конца обработки
    BinMar marshrut;               //пройденные вершины в маршруте
    int cnt_marshrut;           //размер маршрута
    BinMar cut;                    //"склеенный" маршрут
    int cnt_cut;                 //размер "склеенного" маршрута
    BinVer ver_beg;                //начальная вершина
    BinVer ver_end;                //конечная вершина
    int find_i;                 //массив найденных вычеркиваемых строк
    int find_j;                 //массив найденных вычеркиваемых столбцов
    float porog;                  //Граница вычислений
    CTree L;                      //массив указателей на нормальную ветвь
    CTree F1;                     //массив указателей на фиктивную ветвь №1
    CTree F2;                     //массив указателей на фиктивную ветвь №2
    CTree Parent;                 //указатель на родителя "0, NULL" - корень
    int cnt_max;

    @Override
    public int Init(float[][] mas, int size, BinVer ver_ver, BinVer ver_hor, int lev, char f, BinMar mar, int cnt_mar, BinVer mar_beg, BinVer mar_end, CTree pred) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int InitPorog(float p) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int InitCut(BinMar mar_cut, int cnt_mar_cut) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Process_matrix() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int CalcPorog(BinVer ver_beg, BinVer ver_end, float[] n_porog) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Resize_matrix(float[][] mas, int ii, int jj) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Resize_matrix_str(float[][] mas, int ii, int jj, int bjj, int size) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Resize_matrix_stolb(float[][] mas, int ii, int jj, int bii, int size) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Find(BinVer mas_ver, int ver) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Check_block() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Resize_mas_ver(BinVer mas_ver, int ii, BinVer new_mas_ver) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int AddFictVer(BinVer mas_ver_beg, BinVer mas_ver_end, int i, int size) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int LoadMatrix(float[][] mas, float[] ver, int size, BinVer ver_ver, BinVer ver_hor, float[][] mas_dist) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Delete() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int DeleteMatrix() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int WriteMatrix(int ii) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int WriteStr(String str) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int WriteMas(float[][] mas, int size) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public int Sim() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public float GetPorog() {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
